/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package zonasoft.Manejadores;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.LinkedList;
import java.util.List;
import zonasoft.Conceptos.Zona;

/**
 *
 * @author Usuario
 */
public class ManejadorZona {
     public static Connection con;
     public static Connection conm;

     
     


public static Zona getZona(String codigoZona) throws SQLException {
if (codigoZona == null) {
    throw new SQLException ("no hay elemento clave en la clase zona");
}
 ResultSet rs = null;
 PreparedStatement pst = null;
 Zona zona = null;
 try {
            pst = (PreparedStatement) con.prepareStatement("select * from  zona z, departamentos d, municipios m where z.idzona = ? &&  z.idMunicipio= m.codigo && m.cod_departamentos = d.codigo");
            pst.setString(1, codigoZona.trim());
            rs = pst.executeQuery();
            while (rs.next()) {
          zona = Zona.load(rs);
            }
        } finally {
            if (rs != null) {
                rs.close();
            }
            if (pst != null) {
                pst.close();
            }
            return zona;
        }
}


public static void crearZona(Zona zona) throws SQLException {
if(con== null){
throw new SQLException("no hay conexion");
}

Statement stmt=null;

try{
    con.setAutoCommit(false);
    stmt = con.createStatement();

    stmt.addBatch("INSERT INTO zona values (null,"+zona.getCodigoZona()+",'"+zona.getIdMunicipio()+"')");
//            int[] estado =
                    stmt.executeBatch();
//            System.out.print(estado[0]);
    con.commit();
   }
//   catch(Exception ex)
//   {
//    ex.printStackTrace();
//   }
finally{
  if(stmt != null){
  stmt.close();
       }
    }
}// fin de la clase





           // inicio  del listado
    private static List listaZonas;
    public static List getZonas(){
    return listaZonas;
    }
    public static List listarZonas(String idMunicipio) throws SQLException, Exception{
    ResultSet rs = null;
     PreparedStatement pst = null;
     listaZonas = new LinkedList();
   try{
      pst = (PreparedStatement) con.prepareStatement(" select * from zona z where z.idmunicipio = ?  ");
     pst.setString(1,idMunicipio );


//       pst = con.prepareStatement("select * from departamentos");
     rs = pst.executeQuery();
     while (rs.next()){
         listaZonas.add(Zona.load(rs));
            }
  } finally {
        if (rs != null) {
           rs.close();
       }
        if (pst != null) {
          pst.close();
       }
        return listaZonas;
}

} // fin del listado

}// fin de la clase
